// 输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。

// 示例 1:

// 输入: n = 1
// 输出: [1,2,3,4,5,6,7,8,9]

// 来源：力扣（LeetCode）
// 链接：https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof
// 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

#include<bits/stdc++.h>
using namespace std;

// 求n位最大，遍历

// 执行用时：
// 8 ms
// , 在所有 C++ 提交中击败了
// 70.95%
// 的用户
// 内存消耗：
// 11.1 MB
// , 在所有 C++ 提交中击败了
// 55.06%
// 的用户



class Solution {
public:
    vector<int> printNumbers(int n) {
        vector<int> res;
        int imax = 9;
        --n;
        while(n>0){
            imax = 9 + imax*10;
            --n;
        }
        for(int i=1;i<=imax;++i){
            res.emplace_back(i);
        }
        return res;

    }
};